﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
////模板局限性
////模板并不是万能的，有些特定的数据类型，需要用具体化做特殊实现
////对比两个数据是否相等
//class person {
//public:
//	int _age;
//	string _name;
//public:
//	person(int age, string name)
//	{
//		this->_age = age;
//		this->_name = name;
//	}
//};
//template <class T>
//bool Compare(T a, T b)
//{
//	if (a == b)
//	{
//		return true;
//	}
//	else
//		return false;
//}
////利用具体化的person版本实现代码，具体化优先调用
//template<>bool Compare(person a, person b)
//{
//	if (a._name == b._name && a._age == b._age)
//	{
//		return true;
//	}
//	else
//		return false;
//}
//void test()
//{
//	int a = 11;
//	int b = 10;
//	person p1(11,"Tom");
//	person p2(18,"Tom");
//	bool ret = Compare(p1, p2);
//	if (ret == true)
//	{
//		cout << "相等" << endl;
//	}
//	else
//	{
//		cout << "不相等" << endl;
//	}
//	
//}
//int main()
//{
//	test();
//	return 0;
//}